package cn.kgc.mapper;


import cn.kgc.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * Created by import cn.DevUser;
 Administrator on 2018/9/13.
 */
public interface BackUserMapper {
    /**
     * 登录操作
     * @param
     * @return 符合条件 的用户信息，可能为空
     */
        String selectUserByUser(@Param("devcode") String devcode, @Param("password") String password) ;

    /**
     * 查询所有的方法接口
     * @param querySoftwareName 模糊查询需要的参数
     * @param checkFlat 模糊查询需要的参数
     * @param queryLevel1 模糊查询需要的参数
     * @param queryCategoryLevel2 模糊查询需要的参数
     * @param queryCategoryLevel3 模糊查询需要的参数
     * @return
     */
    List<AppInfo> appList(@Param("indexNum") Integer indexNum, @Param("pageSize") Integer pageize
            ,@Param("querySoftwareName") String querySoftwareName,@Param("checkFlat") String checkFlat,
                       @Param("queryLevel1") String queryLevel1,
                          @Param("queryCategoryLevel2")String queryCategoryLevel2,

                          @Param("queryCategoryLevel3") String queryCategoryLevel3
                      );

    /**
     * 计算一共有多少数据
     * @param querySoftwareName 模糊查询的条件
     * @param checkFlat 模糊查询的条件
     * @param queryLevel1 模糊查询的条件
     * @param queryCategoryLevel2 模糊查询的条件
     * @param queryCategoryLevel3 模糊查询的条件
     * @return
     */
    int totalCount (@Param("querySoftwareName") String querySoftwareName,@Param("checkFlat")String checkFlat,
                    @Param("queryLevel1") String queryLevel1,
                    @Param("queryCategoryLevel2")String queryCategoryLevel2,
                    @Param("queryCategoryLevel3") String queryCategoryLevel3

                    );
    /**
     *通过版本id去查询需要审核的app的基础信息
     * @param versionId  app的版本id
     * @return
     */
   List<AppInfo> checkApp(@Param("versionId") String versionId);
    /**
     * 通过app 的id去查询需要审核的app的最新版本信息
     * @param id app的id
     * @return
     */
    List<AppVersion> checkVersion(@Param("id") String id);

    /**
     *审核通过修改数据库状体的方法
     * @param id
     * @return
     */
    int checkSave(String id);

    /**
     * 审核不通过修改数据库状态值的方法
     * @param id
     * @return
     */

    int checkSaves(String id);

//   ajax
    List<DataDictionary> checkFloat();

    List<AppCategory> checkLevel1();

    List<AppCategory> checkLevel2(@Param("level1") String level1);

    List<AppCategory> checkLevel3(@Param("level2") String level2);

}
